package com.zsgeek.wisdchain.qutu.base.http;


import com.zsgeek.wisdchain.qutu.base.model.BaseModel;

/**
 * 请求接口回调
 *
 * @author 王亨彬
 * @date 2018/10/5
 * email：793325917@qq.com
 */
public interface HttpCallBack<T extends BaseModel> {
    int HTTP_ERROR = -1;
    int HTTP_EXCEPTION = -2;

    /**
     * 接口请求成功的回调，只有status为"0"才回回调此函数
     *
     * @param taskId    请求的唯一标识
     * @param baseModel 接口返回的具体Model
     */
    void requestSuccess(String taskId, T baseModel);

    /**
     * 接口请求异常回调，一般是业务错误，并带有错误msg提示
     *
     * @param taskId    请求的唯一标识
     * @param status    具体的错误码标识
     * @param baseModel 接口返回的具体Model
     */
    void requestException(String taskId, int status, T baseModel);

    /**
     * 网络异常的回调，如没有网络，网络超时会回调此函数
     *
     * @param taskId 请求的唯一标识
     * @param status 具体的错误码标识
     */
    void requestError(String taskId, int status);

}
